package com.nuc.zyt.day04.demo.cookfoodie;

/**
 * @ClassName Foodie
 * @Description TODO
 * @Author 耀酱
 * @Date 2023/5/30 7:47
 * @Version 1.0
 */

public class Foodie extends Thread{
    @Override
    public void run() {
        // 消费者线程
        //
        while (true){
            synchronized (Desk.lock){
                if(Desk.count<=0){
                    break;
                }else {
                    // 判断是否有资源
                    if(Desk.flag == 0){
                        // 没有资源 等待
                        try {
                            Desk.lock.wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }

                    }else {
                        // 有资源 可以消费
                        Desk.count--;
                        System.out.println("消费者还能消费"+Desk.count+"个资源");
                        Desk.flag = 0;  // 修改资源状态
                        Desk.lock.notifyAll(); // 唤醒所有线程
                    }
                }


            }
        }
    }
}
